/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.ufc.desen.persistencia.entidades;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.ManyToOne;

/**
 * 
 * @author mardson
 */
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="tipo_perfil" ,discriminatorType = DiscriminatorType.INTEGER)
@DiscriminatorValue("0")
public class Perfil {
		
	@Id
	@GeneratedValue
	private Long id;
	private Date dataCriacao;
	private boolean status;
	

	@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
	private Usuario usuario;

	
	// métodos get e set
	
	public Date getDataCriacao() {
		return dataCriacao;
	}


	public void setDataCriacao(Date dataCriacao) {
		this.dataCriacao = dataCriacao;
	}

	public boolean isStatus() {
		return status;
	}

	public void setStatus(boolean status) {
		this.status = status;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	// costrutores da classe

	public Perfil(Date dataCriacao, boolean status, Usuario usuario) {
		this.dataCriacao = dataCriacao;
		this.status = status;
		this.usuario = usuario;
	}

	public Perfil() {
	}

}// fim da classe
